Date : 12 novembre 1992
Programme : PKLITE V1.13
Protection : Unexpandable !
Outils : SOFT-ICE V2.50
Temps pass� : 20 minutes + ?
Fichier : PKLITE.EXE
Soci�t� : SHAREWARE
Divers : Compact� par PKLITE PRO avec l'option -E
Origine : ?
Num�ro : 194
R�serv� aux amis...
Voulant savoir de quelle fa�on �tait effectu� le test qui emp�chait
de d�comprimer un fichier ayant �t� comprim� avec PKLITE Version
PRO, je me suis d�cid� � tracer une fois de plus ce dernier.
Pour arriver rapidement � l'endroit interessant il est n�cessaire
de placer un point d'arr�t sur l'INT 21 SF 3D ( ouverture de fichier ).
Puis en faisant du F10 on arrive � un CALL 079E qui affiche les
diff�rents messages:
FILE NOT COMPRESSED, FILE NOT EXPANDABLE, FILE COULD NOT BE COMPRESSED.
etc...
En comparant les diff�rences dans le cas d'un fichier EXPANDABLE et un
fichier non EXPANDABLE je m'aper�ois que pour qu'un fichier soit
EXPANDABLE il faut que le contenu de AX contienne 0000 au retour de ce
CALL.
CS=0FE5
CS:0AE1 7503 JNZ 0AE6
CS:0AE3 E94802 JMP 0D2E
CS:0AE6 E8E61C CALL 27CF
CS:0AE9 8B1E780E MOV BX,[0E78]
CS:0AED E8AEFC CALL 079E ; CALL DE TRAITEMENT.
SI AX = 0000 AU RETOUR DU CALL ON DECOMPRIME.
CS:0AF0 48 DEC AX ; AX = FFFF SI DECOMPRESSION.
CS:0AF1 74D3 JZ 0AC6
CS:0AF3 833E380100 CMP WORD PTR [0138],+00
Je fait un essai en RAM sous SOFT-ICE avec comme param�tres sur la
ligne de commande: PKLITE -X VGACOPY.EXE ( VGACOPY est un programme
ind�comprimable ). Et cel� fonctionne. En effet apr�s avoir affich�
le message: FILE CAN'T BE EXPANDED ( ceci est d� au passage dans le
CALL 079E ) le programme affiche : EXPANDING: VGACOPY.EXE !
Magnifique. Il ne reste plus qu'� faire la modif dans PKLITE. Et l�
je vous laisse faire car apr�s avoir essay� la commande:
PKLITE -X PKLITE en interceptant le CALL sous SOFT-ICE... tout se
plante avec le message DISK FULL !
Mais ce qui est plus interessant c'est qu'un programme d�ja d�comprim�
auquel on fait subir le m�me sort ( AX = 0000 apr�s le CALL ) a
exactement la m�me r�action.
Ce qui laisserait � penser que PKLITE n'est pas comprim� ! Mais il
l'est. Alors quoi ?
En attendant voici le lan�eur crypt� et anti d�bug ( INT 0 ) pour
d�comprimer les fichiers comprim�s avec l'option -E de PKLITE version
PRO.
Il faut placer un 9090 a la place du saut 74D3 situ� en CS:0AF1.
17 Novembre 1992
Y a de quoi �tre d�gout�, je viens de recevoir PKUNLITE qui fait
exactement ce que j'ai r�ussi � faire et plus proprement !
18 Novembre 1992
O� j'ai parl� un peu trop vite...
En fait PKUNLITE a r�ussi � d�comprimer PKLITE lui-m�me ce que ne
r�ussissait pas � faire mon KPLITE.COM par contre il ne peut pas
d�comprimer VGACOPY pour des raisons d'INITIALISATION de POINTEURS ??!
PKLITE �tant en "clair" il n'est plus n�cessaire d'utiliser mon
lan�eur ( snif ! ) il suffit de faire les modifs dans le fichier...
Je le garde toutefois pour de futures applications car j'y avais
apport� quelque substancielles am�liorations au point de vu anti-debug.
( INT 0 , PUSH-PUSH-RETF, PSEUDO CALLF, etc... )
10/12/93
O� je viens de recevoir UNP V3.10 qui d�comprime tout ( sauf VGACOPY52,
mais le header semble avoir �t� trafiqu� ) m�mes les versions pro de
PKLITE ( v1.20 ) ainsi que les TZ, UNZEXE, DIET etc... plus de 63
formats de compression diff�rents.
FREDDY
|